package util

import (
	"bytes"
	"encoding/json"
	"fmt"
	"time"
)

// 扩展时间类型
type JsonTime time.Time

//实现它的json序列化方法
func (t JsonTime) MarshalJSON() ([]byte, error) {
	return []byte(fmt.Sprintf("\"%s\"", time.Time(t).Format("2006-01-02 15:04:05"))), nil
}

// 转 JSON 函数，主要是html标签被转义的问题
func ToJson(data interface{}) ([]byte, error) {
	bf := bytes.NewBuffer([]byte{})
	jsonEncoder := json.NewEncoder(bf)
	jsonEncoder.SetEscapeHTML(false)
	err := jsonEncoder.Encode(data)
	return bf.Bytes(), err
}
